home *** CD-ROM | disk | FTP | other *** search
- CODE SEGMENT
- ASSUME CS:CODE,DS:CODE
- ORG 100H
- START: MOV AX,DS:[2]
- PUSH AX
- MOV SI,OFFSET L0159
- CALL L013B
- POP AX
- PUSH AX
- MOV SI,OFFSET L0159P
- CALL L013BP
- POP AX
- PUSH AX
- MOV DI,OFFSET L0159B
- CALL L013BB
- POP AX
- MOV BX,CS
- SUB AX,BX
- PUSH AX
- MOV SI,OFFSET L016B
- CALL L013B
- POP AX
- PUSH AX
- MOV SI,OFFSET L016BP
- CALL L013BP
- POP AX
- MOV DI,OFFSET L016BB
- CALL L013BB
- MOV AX,CS
- MOV SI,OFFSET L017D
- CALL L013B
- MOV AX,CS
- MOV SI,OFFSET L017DP
- CALL L013BP
- MOV AX,CS
- MOV DI,OFFSET L017DB
- CALL L013BB
- MOV DX,OFFSET L014B
- MOV AH,9
- INT 21H
- SUB AX,AX
- MOV DS,AX
- MOV AX,DS:(15H*4)
- OR AX,DS:(15H*4)+2
- JZ NOEXTM
- MOV BX,DS:(15H*4)
- MOV AX,DS:(15H*4)+2
- MOV DS,AX
- CMP BYTE PTR [BX],317Q
- JZ NOEXTM
- MOV AX,CS
- MOV DS,AX
- MOV AH,88H
- INT 15H
- JC NOEXTM
- PUSH AX
- MOV BX,64
- MUL BX
- MOV DI,OFFSET EXTMSG2
- CALL L013BB
- POP AX
- MOV SI,OFFSET EXTMSG3
- CALL L013BP
- MOV DX,OFFSET EXTMSG1
- MOV AH,9
- INT 21H
- RET
- NOEXTM: MOV AX,CS
- MOV DS,AX
- MOV DX,OFFSET EXTMSG0
- MOV AH,9
- INT 21H
- RET
- L013BB: MOV BX,16
- MOV CX,10000
- MUL BX
- DIV CX
- MOV WORKA,DX
- MOV WORKA+2,AX
- MOV SI,OFFSET WORKA
- PUSH DI
- CALL BIGDSP
- POP DI
- MOV CX,8
- FIXLP: MOV AL,[DI]
- SUB AL,'0'
- JNZ NOFIX
- MOV BYTE PTR [DI],' '
- INC DI
- LOOP FIXLP
- NOFIX: RET
- BIGDSP: CLD
- MOV AX,'00'
- STOSW
- STOSW
- PUSH DI
- LODSW
- CALL DSPVAL
- POP DI
- LODSW
- JMP SHORT DVLP
- DSPVAL: CLD
- PUSH AX
- MOV AX,'00'
- STOSW
- STOSW
- MOV [DI],AL
- POP AX
- DVLP: OR AX,AX
- JNZ DSPDIG
- RET
- DSPDIG: SUB DX,DX
- MOV BX,10
- DIV BX
- OR DL,'0'
- MOV [DI],DL
- DEC DI
- JMP DVLP
- L013BP: MOV CX,AX
- MOV AX,5
- JMP SHORT L013BC
- L013B: ADD AX,31
- MOV CL,6
- SHR AX,CL
- MOV CX,AX
- MOV AX,3
- L013BC: ADD SI,AX
- L0289: PUSH AX
- mOV AX,CX
- MOV CX,10
- XOR DX,DX
- DIV CX
- MOV CX,AX
- ADD DL,'0'
- DEC SI
- MOV [SI],DL
- POP AX
- JCXZ L02A3
- DEC AL
- JNZ L0289
- L029D: RET
- L02A3: DEC AL
- JZ L029D
- DEC SI
- MOV BYTE PTR [SI],' '
- JMP L02A3
- L014B DB 'Total RAM = '
- L0159B DB 'xxxxxxxxx'
- DB ' Bytes or '
- L0159P DB 'xxxxx'
- DB ' Paragraphs or '
- L0159 DB 'xxxk',13,10
- DB 'Available = '
- L016BB DB 'xxxxxxxxx'
- DB ' Bytes or '
- L016BP DB 'xxxxx'
- DB ' Paragraphs or '
- L016B DB 'xxxk',13,10
- DB 'In use = '
- L017DB DB 'xxxxxxxxx'
- DB ' Bytes or '
- L017DP DB 'xxxxx'
- DB ' Paragraphs or '
- L017D DB 'xxxk',13,10,'$'
- EXTMSG0 DB 'No extended memory has been installed',13,10,'$'
- EXTMSG1 DB 'Total Extended memory = '
- EXTMSG2 DB 'xxxxxxxxx'
- DB ' Bytes or '
- EXTMSG3 DB 'xxxxxk',13,10,'$'
- WORKA LABEL WORD
- CODE ENDS
- END START
- memory = '
- EXTMSG2 DB 'xxxxxxxxx'
- DB ' Bytes or '
- EXTMSG3 DB 'xxxxxk',13,10,'$'
-